	  .file    1 "main.c"
    .section .mdebug.abi32
    .previous
    .abicalls
    .rdata
    .align    2
$LC0:
    .ascii    "r\000"
    .align    2
$LC1:
    .ascii    "No se pudo abrir el archivo %s\000"
    .align    2
$LC2:
    .ascii    "w\000"
    .text
    .align    2
    .globl    main
    .ent    main
main:
    .frame    $fp,152,$ra        # vars= 112, regs= 3/0, args= 16, extra= 8
    .mask    0xd0000000,-8
    .fmask    0x00000000,0
    .set    noreorder
    .cpload    $t9
    .set    reorder
    subu    $sp,$sp,152
    .cprestore 16
    sw    $ra,144($sp)
    sw    $fp,140($sp)
    sw    $gp,136($sp)
    move    $fp,$sp
    sw    $a0,152($fp)
    sw    $a1,156($fp)
    addu    $a0,$fp,24
    la    $t9,setDefaults
    jal    $ra,$t9
    lw    $a0,152($fp)
    lw    $a1,156($fp)
    addu    $a2,$fp,24
    la    $t9,parseCommandLine
    jal    $ra,$t9
    la    $v0,__sF
    sw    $v0,128($fp)
    la    $v0,__sF+88
    sw    $v0,132($fp)
    addu    $v0,$fp,25
    move    $a0,$v0
    la    $t9,strlen
    jal    $ra,$t9
    sltu    $v0,$v0,2
    bne    $v0,$zero,$L18
    addu    $v0,$fp,25
    move    $a0,$v0
    la    $a1,$LC0
    la    $t9,fopen
    jal    $ra,$t9
    sw    $v0,128($fp)
    lw    $v0,128($fp)
    bne    $v0,$zero,$L18
    addu    $v0,$fp,25
    la    $a0,__sF+176
    la    $a1,$LC1
    move    $a2,$v0
    la    $t9,fprintf
    jal    $ra,$t9
$L18:
    addu    $v0,$fp,55
    move    $a0,$v0
    la    $t9,strlen
    jal    $ra,$t9
    sltu    $v0,$v0,2
    bne    $v0,$zero,$L20
    addu    $v0,$fp,55
    move    $a0,$v0
    la    $a1,$LC2
    la    $t9,fopen
    jal    $ra,$t9
    sw    $v0,132($fp)
    lw    $v0,132($fp)
    bne    $v0,$zero,$L20
    addu    $v0,$fp,55
    la    $a0,__sF+176
    la    $a1,$LC1
    move    $a2,$v0
    la    $t9,fprintf
    jal    $ra,$t9
$L20:
    lb    $v1,24($fp)
    li    $v0,111            # 0x6f
    bne    $v1,$v0,$L22
    lw    $a0,128($fp)
    lw    $a1,132($fp)
    addu    $a2,$fp,24
    la    $t9,binaryToOctal
    jal    $ra,$t9
    b    $L23
$L22:
    lw    $a0,128($fp)
    lw    $a1,132($fp)
    addu    $a2,$fp,24
    la    $t9,octalToBinary
    jal    $ra,$t9
$L23:
    lw    $v0,128($fp)
    beq    $v0,$zero,$L24
    lw    $a0,128($fp)
    la    $t9,fclose
    jal    $ra,$t9
$L24:
    lw    $v0,132($fp)
    beq    $v0,$zero,$L25
    lw    $a0,132($fp)
    la    $t9,fclose
    jal    $ra,$t9
$L25:
    move    $a0,$zero
    la    $t9,exit
    jal    $ra,$t9
    .end    main
    .size    main, .-main
    .rdata
    .align    2
$LC3:
    .ascii    "usage: tp0 -h, --help            Print this information."
    .ascii    "\n\000"
    .align    2
$LC4:
    .ascii    "       tp0 -V, --version         Print version and quit."
    .ascii    "\n\000"
    .align    2
$LC5:
    .ascii    "       tp0 -0, --octal           Octal dump mode: encode"
    .ascii    " the input (binary file) in octal\n\000"
    .align    2
$LC6:
    .ascii    "                                                 format "
    .ascii    "(default).\n\000"
    .align    2
$LC7:
    .ascii    "       tp0 -b, --binary          Binary mode: decode the"
    .ascii    " input (octal dump file) in binary\n\000"
    .align    2
$LC8:
    .ascii    "                                                 format."
    .ascii    "\n\000"
    .align    2
$LC9:
    .ascii    "       tp0 -i, --input           Path to input file (def"
    .ascii    "aults to stdin)\n\000"
    .align    2
$LC10:
    .ascii    "       tp0 -o, --output          Path to output file (de"
    .ascii    "faults to stdout).\n\000"
    .align    2
$LC11:
    .ascii    "       tp0 -l, --length          Number of octal bytes p"
    .ascii    "er line (line length) at the\n\000"
    .align    2
$LC12:
    .ascii    "                                                 output "
    .ascii    "in octal dump mode (0 = default = no limit).\n\000"
    .align    2
$LC13:
    .ascii    "       tp0 -d, --delimiter       Delimiter between octal"
    .ascii    " bytes. Could be a string, not only\n\000"
    .align    2
$LC14:
    .ascii    "                                                 a singl"
    .ascii    "e byte. Used as delimiter for octal output and input\n\000"
    .align    2
$LC15:
    .ascii    "                                                 files ("
    .ascii    "default: none).\n\000"
    .text
    .align    2
    .ent    usage
usage:
    .frame    $fp,40,$ra        # vars= 0, regs= 3/0, args= 16, extra= 8
    .mask    0xd0000000,-8
    .fmask    0x00000000,0
    .set    noreorder
    .cpload    $t9
    .set    reorder
    subu    $sp,$sp,40
    .cprestore 16
    sw    $ra,32($sp)
    sw    $fp,28($sp)
    sw    $gp,24($sp)
    move    $fp,$sp
    la    $a0,__sF+88
    la    $a1,$LC3
    la    $t9,fprintf
    jal    $ra,$t9
    la    $a0,__sF+88
    la    $a1,$LC4
    la    $t9,fprintf
    jal    $ra,$t9
    la    $a0,__sF+88
    la    $a1,$LC5
    la    $t9,fprintf
    jal    $ra,$t9
    la    $a0,__sF+88
    la    $a1,$LC6
    la    $t9,fprintf
    jal    $ra,$t9
    la    $a0,__sF+88
    la    $a1,$LC7
    la    $t9,fprintf
    jal    $ra,$t9
    la    $a0,__sF+88
    la    $a1,$LC8
    la    $t9,fprintf
    jal    $ra,$t9
    la    $a0,__sF+88
    la    $a1,$LC9
    la    $t9,fprintf
    jal    $ra,$t9
    la    $a0,__sF+88
    la    $a1,$LC10
    la    $t9,fprintf
    jal    $ra,$t9
    la    $a0,__sF+88
    la    $a1,$LC11
    la    $t9,fprintf
    jal    $ra,$t9
    la    $a0,__sF+88
    la    $a1,$LC12
    la    $t9,fprintf
    jal    $ra,$t9
    la    $a0,__sF+88
    la    $a1,$LC13
    la    $t9,fprintf
    jal    $ra,$t9
    la    $a0,__sF+88
    la    $a1,$LC14
    la    $t9,fprintf
    jal    $ra,$t9
    la    $a0,__sF+88
    la    $a1,$LC15
    la    $t9,fprintf
    jal    $ra,$t9
    li    $a0,1            # 0x1
    la    $t9,exit
    jal    $ra,$t9
    .end    usage
    .size    usage, .-usage
    .rdata
    .align    2
$LC16:
    .ascii    "la version es 1.0\n\000"
    .text
    .align    2
    .ent    version
version:
    .frame    $fp,40,$ra        # vars= 0, regs= 3/0, args= 16, extra= 8
    .mask    0xd0000000,-8
    .fmask    0x00000000,0
    .set    noreorder
    .cpload    $t9
    .set    reorder
    subu    $sp,$sp,40
    .cprestore 16
    sw    $ra,32($sp)
    sw    $fp,28($sp)
    sw    $gp,24($sp)
    move    $fp,$sp
    la    $a0,__sF+88
    la    $a1,$LC16
    la    $t9,fprintf
    jal    $ra,$t9
    li    $a0,1            # 0x1
    la    $t9,exit
    jal    $ra,$t9
    .end    version
    .size    version, .-version
    .align    2
    .ent    setDefaults
setDefaults:
    .frame    $fp,16,$ra        # vars= 0, regs= 2/0, args= 0, extra= 8
    .mask    0x50000000,-4
    .fmask    0x00000000,0
    .set    noreorder
    .cpload    $t9
    .set    reorder
    subu    $sp,$sp,16
    .cprestore 0
    sw    $fp,12($sp)
    sw    $gp,8($sp)
    move    $fp,$sp
    sw    $a0,16($fp)
    lw    $v1,16($fp)
    li    $v0,111            # 0x6f
    sb    $v0,0($v1)
    lw    $v0,16($fp)
    sb    $zero,1($v0)
    lw    $v0,16($fp)
    sb    $zero,31($v0)
    lw    $v0,16($fp)
    sw    $zero,64($v0)
    lw    $v0,16($fp)
    sb    $zero,68($v0)
    move    $sp,$fp
    lw    $fp,12($sp)
    addu    $sp,$sp,16
    j    $ra
    .end    setDefaults
    .size    setDefaults, .-setDefaults
    .rdata
    .align    2
$LC18:
    .ascii    "help\000"
    .align    2
$LC19:
    .ascii    "version\000"
    .align    2
$LC20:
    .ascii    "octal\000"
    .align    2
$LC21:
    .ascii    "binary\000"
    .align    2
$LC22:
    .ascii    "input\000"
    .align    2
$LC23:
    .ascii    "output\000"
    .align    2
$LC24:
    .ascii    "length\000"
    .align    2
$LC25:
    .ascii    "delimiter\000"
    .data
    .align    2
$LC26:
    .word    $LC18
    .word    0
    .word    0
    .word    104
    .word    $LC19
    .word    0
    .word    0
    .word    86
    .word    $LC20
    .word    0
    .word    0
    .word    79
    .word    $LC21
    .word    0
    .word    0
    .word    98
    .word    $LC22
    .word    0
    .word    0
    .word    105
    .word    $LC23
    .word    0
    .word    0
    .word    111
    .word    $LC24
    .word    0
    .word    0
    .word    108
    .word    $LC25
    .word    0
    .word    0
    .word    100
    .word    0
    .word    0
    .word    0
    .word    0
    .globl    memcpy
    .rdata
    .align    2
$LC17:
    .ascii    "hVObiold\000"
    .text
    .align    2
    .ent    parseCommandLine
parseCommandLine:
    .frame    $fp,208,$ra        # vars= 160, regs= 4/0, args= 24, extra= 8
    .mask    0xd0010000,-4
    .fmask    0x00000000,0
    .set    noreorder
    .cpload    $t9
    .set    reorder
    subu    $sp,$sp,208
    .cprestore 24
    sw    $ra,204($sp)
    sw    $fp,200($sp)
    sw    $gp,196($sp)
    sw    $s0,192($sp)
    move    $fp,$sp
    sw    $a0,208($fp)
    sw    $a1,212($fp)
    sw    $a2,216($fp)
    la    $v0,$LC17
    sw    $v0,32($fp)
    addu    $v0,$fp,40
    la    $v1,$LC26
    move    $a0,$v0
    move    $a1,$v1
    li    $a2,144            # 0x90
    la    $t9,memcpy
    jal    $ra,$t9
$L30:
    addu    $v0,$fp,40
    sw    $zero,16($sp)
    lw    $a0,208($fp)
    lw    $a1,212($fp)
    lw    $a2,32($fp)
    move    $a3,$v0
    la    $t9,getopt_long
    jal    $ra,$t9
    sw    $v0,184($fp)
    lw    $v1,184($fp)
    li    $v0,-1            # 0xffffffffffffffff
    bne    $v1,$v0,$L32
    b    $L29
$L32:
    lb    $v0,184($fp)
    addu    $v0,$v0,-79
    sw    $v0,188($fp)
    lw    $v1,188($fp)
    sltu    $v0,$v1,33
    beq    $v0,$zero,$L30
    lw    $v0,188($fp)
    sll    $v1,$v0,2
    la    $v0,$L42
    addu    $v0,$v1,$v0
    lw    $v0,0($v0)
    .cpadd    $v0
    j    $v0
    .rdata
    .align    2
$L42:
    .gpword    $L36
    .gpword    $L30
    .gpword    $L30
    .gpword    $L30
    .gpword    $L30
    .gpword    $L30
    .gpword    $L30
    .gpword    $L35
    .gpword    $L30
    .gpword    $L30
    .gpword    $L30
    .gpword    $L30
    .gpword    $L30
    .gpword    $L30
    .gpword    $L30
    .gpword    $L30
    .gpword    $L30
    .gpword    $L30
    .gpword    $L30
    .gpword    $L37
    .gpword    $L30
    .gpword    $L41
    .gpword    $L30
    .gpword    $L30
    .gpword    $L30
    .gpword    $L34
    .gpword    $L38
    .gpword    $L30
    .gpword    $L30
    .gpword    $L40
    .gpword    $L30
    .gpword    $L30
    .gpword    $L39
    .text
$L34:
    la    $t9,usage
    jal    $ra,$t9
    b    $L30
$L35:
    la    $t9,version
    jal    $ra,$t9
    b    $L30
$L36:
    lw    $v1,216($fp)
    li    $v0,111            # 0x6f
    sb    $v0,0($v1)
    b    $L30
$L37:
    lw    $v1,216($fp)
    li    $v0,98            # 0x62
    sb    $v0,0($v1)
    b    $L30
$L38:
    lw    $v0,216($fp)
    addu    $a0,$v0,1
    lw    $v0,optind
    sll    $v1,$v0,2
    lw    $v0,212($fp)
    addu    $v0,$v1,$v0
    lw    $a1,0($v0)
    la    $t9,strcpy
    jal    $ra,$t9
    b    $L30
$L39:
    lw    $v0,216($fp)
    addu    $a0,$v0,31
    lw    $v0,optind
    sll    $v1,$v0,2
    lw    $v0,212($fp)
    addu    $v0,$v1,$v0
    lw    $a1,0($v0)
    la    $t9,strcpy
    jal    $ra,$t9
    b    $L30
$L40:
    lw    $s0,216($fp)
    lw    $v0,optind
    sll    $v1,$v0,2
    lw    $v0,212($fp)
    addu    $v0,$v1,$v0
    lw    $a0,0($v0)
    la    $t9,atoi
    jal    $ra,$t9
    sw    $v0,64($s0)
    b    $L30
$L41:
    lw    $v0,216($fp)
    addu    $a0,$v0,68
    lw    $v0,optind
    sll    $v1,$v0,2
    lw    $v0,212($fp)
    addu    $v0,$v1,$v0
    lw    $a1,0($v0)
    la    $t9,strcpy
    jal    $ra,$t9
    b    $L30
$L29:
    move    $sp,$fp
    lw    $ra,204($sp)
    lw    $fp,200($sp)
    lw    $s0,192($sp)
    addu    $sp,$sp,208
    j    $ra
    .end    parseCommandLine
    .size    parseCommandLine, .-parseCommandLine
    .rdata
    .align    2
$LC27:
    .ascii    "\n\000"
    .align    2
$LC28:
    .ascii    "%s\000"
    .align    2
$LC29:
    .ascii    "%03o\000"
    .text
    .align    2
    .ent    binaryToOctal
binaryToOctal:
    .frame    $fp,56,$ra        # vars= 16, regs= 3/0, args= 16, extra= 8
    .mask    0xd0000000,-8
    .fmask    0x00000000,0
    .set    noreorder
    .cpload    $t9
    .set    reorder
    subu    $sp,$sp,56
    .cprestore 16
    sw    $ra,48($sp)
    sw    $fp,44($sp)
    sw    $gp,40($sp)
    move    $fp,$sp
    sw    $a0,56($fp)
    sw    $a1,60($fp)
    sw    $a2,64($fp)
    sw    $zero,28($fp)
    sw    $zero,32($fp)
$L45:
    lw    $a0,56($fp)
    la    $t9,fgetc
    jal    $ra,$t9
    sb    $v0,24($fp)
    lbu    $v0,24($fp)
    sll    $v0,$v0,24
    sra    $v1,$v0,24
    li    $v0,-1            # 0xffffffffffffffff
    beq    $v1,$v0,$L44
    lw    $v0,32($fp)
    slt    $v0,$v0,60
    bne    $v0,$zero,$L47
    b    $L44
$L47:
    lb    $v0,24($fp)
    blez    $v0,$L45
    lw    $v0,64($fp)
    lw    $v0,64($v0)
    beq    $v0,$zero,$L50
    lw    $v0,64($fp)
    lw    $v1,28($fp)
    lw    $v0,64($v0)
    slt    $v0,$v1,$v0
    bne    $v0,$zero,$L50
    lw    $a0,60($fp)
    la    $a1,$LC27
    la    $t9,fprintf
    jal    $ra,$t9
    sw    $zero,28($fp)
    b    $L51
$L50:
    lw    $v0,28($fp)
    beq    $v0,$zero,$L51
    lw    $v0,64($fp)
    addu    $v0,$v0,68
    lw    $a0,60($fp)
    la    $a1,$LC28
    move    $a2,$v0
    la    $t9,fprintf
    jal    $ra,$t9
$L51:
    lb    $v0,24($fp)
    lw    $a0,60($fp)
    la    $a1,$LC29
    move    $a2,$v0
    la    $t9,fprintf
    jal    $ra,$t9
    lw    $v0,28($fp)
    addu    $v0,$v0,1
    sw    $v0,28($fp)
    lw    $v0,32($fp)
    addu    $v0,$v0,1
    sw    $v0,32($fp)
    b    $L45
$L44:
    move    $sp,$fp
    lw    $ra,48($sp)
    lw    $fp,44($sp)
    addu    $sp,$sp,56
    j    $ra
    .end    binaryToOctal
    .size    binaryToOctal, .-binaryToOctal
    .rdata
    .align    2
$LC30:
    .ascii    "%o\000"
    .align    2
$LC31:
    .ascii    "%c\000"
    .text
    .align    2
    .ent    octalToBinary
octalToBinary:
    .frame    $fp,56,$ra        # vars= 16, regs= 3/0, args= 16, extra= 8
    .mask    0xd0000000,-8
    .fmask    0x00000000,0
    .set    noreorder
    .cpload    $t9
    .set    reorder
    subu    $sp,$sp,56
    .cprestore 16
    sw    $ra,48($sp)
    sw    $fp,44($sp)
    sw    $gp,40($sp)
    move    $fp,$sp
    sw    $a0,56($fp)
    sw    $a1,60($fp)
    sw    $a2,64($fp)
$L54:
    addu    $a0,$fp,24
    li    $a1,4            # 0x4
    lw    $a2,56($fp)
    la    $t9,fgets
    jal    $ra,$t9
    bne    $v0,$zero,$L56
    b    $L53
$L56:
    addu    $v0,$fp,32
    addu    $a0,$fp,24
    la    $a1,$LC30
    move    $a2,$v0
    la    $t9,sscanf
    jal    $ra,$t9
    lb    $v0,32($fp)
    lw    $a0,60($fp)
    la    $a1,$LC31
    move    $a2,$v0
    la    $t9,fprintf
    jal    $ra,$t9
    lw    $a0,56($fp)
    la    $t9,fgetc
    jal    $ra,$t9
    move    $v1,$v0
    li    $v0,10            # 0xa
    beq    $v1,$v0,$L54
    lw    $v0,56($fp)
    lhu    $v0,12($v0)
    srl    $v0,$v0,5
    andi    $v0,$v0,0x1
    bne    $v0,$zero,$L54
    lw    $v0,64($fp)
    addu    $v0,$v0,68
    move    $a0,$v0
    la    $t9,strlen
    jal    $ra,$t9
    addu    $v0,$v0,-1
    lw    $a0,56($fp)
    move    $a1,$v0
    li    $a2,1            # 0x1
    la    $t9,fseek
    jal    $ra,$t9
    b    $L54
$L53:
    move    $sp,$fp
    lw    $ra,48($sp)
    lw    $fp,44($sp)
    addu    $sp,$sp,56
    j    $ra
    .end    octalToBinary
    .size    octalToBinary, .-octalToBinary
    .ident    "GCC: (GNU) 3.3.3 (NetBSD nb3 20040520)"
